
.class public b
.super java/lang/Object

.field static m [I
.field static f [I
.field public static l I = 5

.method static public <clinit>()V
 .limit stack 2
 .limit locals 0

 bipush 10
 newarray int
 putstatic b/m [I

 bipush 12
 newarray int
 putstatic b/f [I

 return
.end method


.method public static main([Ljava/lang/String;)V
.limit stack 4
.limit locals 37

;guardar em local intiger
;rhs #0
bipush 11
istore 4
; start IF
; exprTest 
iload 4
bipush 10
if_icmpge Label0
; if stmt list
; Call
ldc "entrou no if"
invokestatic io/println(Ljava/lang/String;)V

goto Label1
 ; end IF start ELSE
Label0:

;guardar em local intiger
;rhs #0
bipush 0
istore 4
; Call
ldc "entrou no else"
invokestatic io/println(Ljava/lang/String;)V

 ; end IF ELSE 
Label1:

; start while
Label2:
; exprTest 
iload 4
bipush 10
if_icmpge Label3
; while stmt list
;guardar em local intiger
;rhs #1
bipush 1
;rhs #0
iload 4
;operator
iadd
istore 4
; Call
ldc "loop"
iload 4
invokestatic io/println(Ljava/lang/String;I)V

; end while
goto Label2
Label3:

;guardar em global array
getstatic b/m [I
bipush 0
;rhs #0
bipush 3
iastore
;guardar em global array
getstatic b/m [I
getstatic b/l I
;rhs #0
getstatic b/m [I
bipush 0
iaload
iastore
;guardar em local intiger
;rhs #0
getstatic b/m [I
getstatic b/l I
iaload
istore 2
;guardar em local intiger
;rhs #1
getstatic b/l I
;rhs #0
getstatic b/l I
;operator
isub ;TODO
istore 1
;guardar em local intiger
;rhs #1
getstatic b/l I
;rhs #0
getstatic b/l I
;operator
imul ;TODO
istore 0
;guardar em local intiger
;rhs #1
getstatic b/l I
;rhs #0
getstatic b/l I
;operator
idiv ;TODO
istore 3
; Call
ldc "3 = "
iload 2
invokestatic io/println(Ljava/lang/String;I)V

; Call
ldc "5 mais 5= "
iload 4
invokestatic io/println(Ljava/lang/String;I)V

; Call
ldc "5 menos 5= "
iload 1
invokestatic io/println(Ljava/lang/String;I)V

; Call
ldc "5 vezes 5= "
iload 0
invokestatic io/println(Ljava/lang/String;I)V

; Call
ldc "5 sobre 5= "
iload 3
invokestatic io/println(Ljava/lang/String;I)V

; Call
ldc "nao posso meter operadores nas strings ou leva parse error"
invokestatic io/println(Ljava/lang/String;)V

return
.end method